import axios from 'axios';

const instance = axios.create({
    //统一设置请求域名地址
    baseURL: "/api"
})

//【重要】掌握拦截器的执行顺序！！！！
//请求拦截器
instance.interceptors.request.use(config => {
    //每次发起请求之前都会经过这里
    //作用：可以在这里统一携带上token  (后面登录成功后后台会给一个token，现在没有 暂时不写！！！)
    let token = localStorage.getItem("x-auth-token");
    if (token) {
        config.headers["x-auth-token"] = token;
    }
    // console.log("请求拦截器....");
    return config;
}, error => {
    return Promise.reject(error);
})

//响应拦截器
instance.interceptors.response.use(response => {
    //每次请求完成响应到组件之前先经过这里。
    //响应回来的数据中code为0一般都表示成功否则都是失败了。
    //作用：可以在这里统一对数据进行二次处理。 
    // console.log("响应拦截器....", response);
    // 统一处理错误信息
    if (response.data.code != 0 && response.data.code != 407 && response.data.code != 400) {
        alert(response.data.message);
        return; //相当于返回了undefined
    }
    return response.data;
    // return "一百万！";
    // 函数没有return 默认返回undefined
}, error => {
    return Promise.reject(error);
})

export default instance;